The present invention relates generally to the field of data communication and networking, and more particularly to systems and computer program products that use Transmission Control Protocol/Internet Protocol (TCP/IP) to setup high speed out of band data communication connections.
InfiniBand™ and Remote Direct Memory Access (RDMA) are existing, known, technologies for high speed connectivity between hosts and servers. These technologies are implemented in a networking environment with additional hardware and corresponding software, including drivers and application programming interfaces. This means that using these high-speed technologies requires server programs, applications, and clients to code to specific APIs to exploit them. For example, instead of sockets, User Direct Access Programming Library (UDAPL) would be used to communicate using InfiniBand™.
There is a large existing base of servers, applications, and clients that are coded to the TCP/IP sockets interface for communication. For these programs to exploit high speed interconnects in the current art, significant rewriting of their communications methods would be required. This is a major undertaking and may not even be practical in some cases (for example legacy applications whose source code or coding skill is lost).
The current state of the art for this problem is Sockets Direct Protocol (SDP), which bypasses TCP/IP and provides an alternative protocol stack “underneath” the sockets layer. This allows applications which are coded to the widely adopted Sockets standard to run unmodified, and the SDP stack under the sockets layer handles all the communication. However there also exists a large legacy installed base of firewalls, load balancers, and other technologies that businesses rely on to manage and secure their networks. These technologies rely on the ability to manage TCP/IP setup flows to perform their function. Because SDP dispenses with these flows, these network elements would have to be reinvented for SDP. Additionally, many TCP/IP stacks are mature products with built-in security, quality of service, tracing, auditing, etc. capabilities that would have to be reinvented for SDP.
Because of these limitations, SDP is generally seen as suitable for tightly coupled high performance networking, not for multi-tier business environments with complicated security and quality of service requirements.